]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
extensionSystem: Fix extension reloading
authorFlorian Müllner <fmuellner@gnome.org>
Tue, 14 Mar 2023 11:57:43 +0000 (12:57 +0100)
committerMarge Bot <marge-bot@gnome.org>
Sun, 19 Mar 2023 13:26:30 +0000 (13:26 +0000)
Unloading an extension has become an async operation, but we aren't
awaiting the result. That means that we recreate the extension
object *before* we remove the "old" extension object from the map,
with the effect that the reloaded extension is removed completely.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6507

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2694>

js/ui/extensionSystem.js

index 4cdaa3dad9c1e40c2762d7db5b12c8737823e5cd..d9cdf77e45e1f2b4123f915d246c6859f3051ed8 100644 (file)
@@ -432,7 +432,7 @@ var ExtensionManager = class extends Signals.EventEmitter {
         let { uuid, dir, type } = oldExtension;
 
         // Then unload the old extension.
-        this.unloadExtension(oldExtension);
+        await this.unloadExtension(oldExtension);
 
         // Now, recreate the extension and load it.
         let newExtension;